home *** CD-ROM | disk | FTP | other *** search
/ Champak 130 / Vol 130.iso / games / target_s.swf / scripts / assets / screens / screen_stats.as < prev   
Encoding:
Text File  |  2008-11-13  |  8.9 KB  |  323 lines

  1. package assets.screens
  2. {
  3.    import assets.effects.star1;
  4.    import flash.display.*;
  5.    import flash.events.*;
  6.    import flash.net.SharedObject;
  7.    import flash.text.TextField;
  8.    
  9.    [Embed(source="/_assets/assets.swf", symbol="assets.screens.screen_stats")]
  10.    public class screen_stats extends MovieClip
  11.    {
  12.        
  13.       
  14.       public var recoveryRate:Number = 0.5;
  15.       
  16.       public var bails:Number = 0;
  17.       
  18.       public var continueBtn:SimpleButton;
  19.       
  20.       public var action:Boolean = true;
  21.       
  22.       public var score_txt:TextField;
  23.       
  24.       public var staminabar:MovieClip;
  25.       
  26.       private var scope:Object;
  27.       
  28.       public var paused_mc:MovieClip;
  29.       
  30.       public var speed:Number = 0;
  31.       
  32.       private var sboard:Array;
  33.       
  34.       public var stamina:Number = 1;
  35.       
  36.       public var speedbar:MovieClip;
  37.       
  38.       public var muteBtn:MovieClip;
  39.       
  40.       public var localScores:MovieClip;
  41.       
  42.       public var trickFX:MovieClip;
  43.       
  44.       public var travelBar:MovieClip;
  45.       
  46.       public var bailBonus:MovieClip;
  47.       
  48.       public var saveBtn:SimpleButton;
  49.       
  50.       public var score:Number = 0;
  51.       
  52.       public var pauseBtn:MovieClip;
  53.       
  54.       private var sObj:SharedObject;
  55.       
  56.       public var bails_txt:TextField;
  57.       
  58.       public var restartBtn:SimpleButton;
  59.       
  60.       public var bailBonusQty:Number = 2;
  61.       
  62.       public var trickScore:Number = 0;
  63.       
  64.       public function screen_stats(param1:*)
  65.       {
  66.          action = true;
  67.          score = 0;
  68.          bails = 0;
  69.          bailBonusQty = 2;
  70.          trickScore = 0;
  71.          trickFX = new trickText();
  72.          speed = 0;
  73.          stamina = 1;
  74.          recoveryRate = 0.5;
  75.          sboard = new Array();
  76.          super();
  77.          scope = param1;
  78.          trickFX.x = 350;
  79.          trickFX.y = 100;
  80.          trickFX.tscore_txt.text = 0;
  81.          trickFX.visible = false;
  82.          addChild(trickFX);
  83.          restartBtn.addEventListener(MouseEvent.CLICK,restartGame);
  84.          saveBtn.addEventListener(MouseEvent.CLICK,saveScreen);
  85.          continueBtn.addEventListener(MouseEvent.CLICK,continueGame);
  86.          muteBtn.addEventListener(MouseEvent.CLICK,muteSounds);
  87.          pauseBtn.addEventListener(MouseEvent.CLICK,pauseGame);
  88.          paused_mc.visible = false;
  89.          localScores.saveBtn.addEventListener(MouseEvent.CLICK,saveScore);
  90.          localScores.doneBtn.addEventListener(MouseEvent.CLICK,doneScore);
  91.          localScores.visible = false;
  92.          setScoreData();
  93.          gameOverMenu(false);
  94.          courseCompleteMenu(false);
  95.       }
  96.       
  97.       public function pauseGame(param1:Event) : *
  98.       {
  99.          if(action)
  100.          {
  101.             action = false;
  102.             scope.sound.soundON = false;
  103.             scope.sound.stopSounds();
  104.             param1.target.gotoAndStop("off");
  105.             paused_mc.visible = true;
  106.          }
  107.          else
  108.          {
  109.             action = true;
  110.             scope.sound.soundON = true;
  111.             scope.sound.restartSounds();
  112.             param1.target.gotoAndStop("on");
  113.             paused_mc.visible = false;
  114.          }
  115.       }
  116.       
  117.       public function courseCompleteMenu(param1:*) : *
  118.       {
  119.          continueBtn.visible = bailBonus.visible = param1;
  120.       }
  121.       
  122.       private function setScoreData() : *
  123.       {
  124.          var _loc1_:* = undefined;
  125.          sObj = SharedObject.getLocal("streetskater","/");
  126.          _loc1_ = 0;
  127.          while(_loc1_ < 10)
  128.          {
  129.             sboard.push({
  130.                "nm":" --- ",
  131.                "sc":0
  132.             });
  133.             _loc1_++;
  134.          }
  135.          updateBoard();
  136.       }
  137.       
  138.       private function saveScore(param1:Event) : *
  139.       {
  140.          var _loc2_:* = undefined;
  141.          _loc2_ = {
  142.             "nm":localScores.pName.text,
  143.             "sc":score
  144.          };
  145.          sboard.push(_loc2_);
  146.          sboard.sortOn("sc",Array.NUMERIC | Array.DESCENDING);
  147.          if(sboard.length > 10)
  148.          {
  149.             sboard.pop();
  150.          }
  151.          sObj.data.scores = sboard;
  152.          sObj.flush();
  153.          localScores.saveBtn.removeEventListener(MouseEvent.CLICK,saveScore);
  154.          saveBtn.removeEventListener(MouseEvent.CLICK,saveScreen);
  155.          updateBoard();
  156.       }
  157.       
  158.       private function doneScore(param1:Event) : *
  159.       {
  160.          localScores.visible = false;
  161.          trickFX.visible = true;
  162.          gameOverMenu(true);
  163.       }
  164.       
  165.       public function initTrickFX(param1:String) : *
  166.       {
  167.          trickFX.gotoAndStop(param1);
  168.          trickFX.visible = true;
  169.          trickFX.addEventListener(Event.ENTER_FRAME,trickMonitor);
  170.       }
  171.       
  172.       private function continueGame(param1:Event) : *
  173.       {
  174.          courseCompleteMenu(false);
  175.          clearTrickFX(true);
  176.          updateBails(scope.course * bailBonusQty);
  177.          scope.player.tscore = 0;
  178.          travelBar.scaleX = 0;
  179.          scope.gameContinue();
  180.       }
  181.       
  182.       private function saveScreen(param1:Event) : *
  183.       {
  184.          gameOverMenu(false);
  185.          trickFX.visible = false;
  186.          updateBoard();
  187.          localScores.visible = true;
  188.          stage.focus = localScores.pName;
  189.          localScores.pName.setSelection(0,0);
  190.       }
  191.       
  192.       public function updateStamina(param1:*) : *
  193.       {
  194.          stamina += param1 / 100;
  195.          if(stamina >= 1)
  196.          {
  197.             stamina = 1;
  198.          }
  199.          if(stamina <= 0)
  200.          {
  201.             stamina = 0;
  202.          }
  203.       }
  204.       
  205.       public function updateScore(param1:Number) : *
  206.       {
  207.          score += param1;
  208.          score_txt.text = score.toString();
  209.       }
  210.       
  211.       public function clearTrickFX(param1:Boolean) : *
  212.       {
  213.          if(param1)
  214.          {
  215.             updateScore(trickScore);
  216.          }
  217.          trickScore = 0;
  218.          trickFX.visible = false;
  219.          trickFX.removeEventListener(Event.ENTER_FRAME,trickMonitor);
  220.       }
  221.       
  222.       private function submitScore(param1:Event) : *
  223.       {
  224.          trace("submitScores click");
  225.       }
  226.       
  227.       public function resetStats() : *
  228.       {
  229.          gameOverMenu(false);
  230.          score = 0;
  231.          bails = 10;
  232.          updateScore(0);
  233.          updateBails(0);
  234.          travelBar.scaleX = 0;
  235.          localScores.saveBtn.addEventListener(MouseEvent.CLICK,saveScore);
  236.          saveBtn.addEventListener(MouseEvent.CLICK,saveScreen);
  237.       }
  238.       
  239.       public function process() : *
  240.       {
  241.          updateStamina(recoveryRate);
  242.          staminabar.scaleY = stamina;
  243.          speedbar.scaleY = scope.vx / scope.topspd;
  244.          speedbar.gotoAndStop(1 + Math.round(speedbar.scaleY * 100 / 10));
  245.          staminabar.gotoAndStop(1 + Math.round(stamina * 100 / 10));
  246.       }
  247.       
  248.       public function trickMonitor(param1:Event) : *
  249.       {
  250.          trickStars();
  251.          trickScore = scope.player.tscore;
  252.          trickFX.tscore_txt.text = trickScore.toString();
  253.       }
  254.       
  255.       private function updateBoard() : *
  256.       {
  257.          var _loc1_:* = undefined;
  258.          if(sObj.data.scores == undefined)
  259.          {
  260.             sObj.data.scores = sboard;
  261.          }
  262.          else
  263.          {
  264.             sboard = sObj.data.scores;
  265.          }
  266.          sboard.sortOn("sc",Array.NUMERIC | Array.DESCENDING);
  267.          _loc1_ = 1;
  268.          while(_loc1_ < sboard.length + 1)
  269.          {
  270.             localScores["n" + _loc1_].text = sboard[_loc1_ - 1].nm;
  271.             localScores["s" + _loc1_].text = sboard[_loc1_ - 1].sc;
  272.             _loc1_++;
  273.          }
  274.          localScores.pScore.text = score.toString();
  275.          localScores.pName.text = "";
  276.       }
  277.       
  278.       private function muteSounds(param1:Event) : *
  279.       {
  280.          if(scope.sound.soundON)
  281.          {
  282.             scope.sound.soundON = false;
  283.             scope.sound.stopSounds();
  284.             param1.target.gotoAndStop("off");
  285.          }
  286.          else
  287.          {
  288.             scope.sound.soundON = true;
  289.             scope.sound.restartSounds();
  290.             param1.target.gotoAndStop("on");
  291.          }
  292.       }
  293.       
  294.       private function restartGame(param1:Event) : *
  295.       {
  296.          clearTrickFX(false);
  297.          score = 0;
  298.          scope.player.tscore = 0;
  299.          scope.gameReset();
  300.       }
  301.       
  302.       private function trickStars() : *
  303.       {
  304.          var _loc1_:MovieClip = null;
  305.          _loc1_ = new star1(trickFX,scope);
  306.          _loc1_.x += 10 - Math.round(Math.random() * 20);
  307.          _loc1_.y += 10 - Math.round(Math.random() * 20);
  308.          trickFX.addChild(_loc1_);
  309.       }
  310.       
  311.       public function updateBails(param1:Number) : *
  312.       {
  313.          bails += param1;
  314.          bails_txt.text = bails.toString();
  315.       }
  316.       
  317.       public function gameOverMenu(param1:*) : *
  318.       {
  319.          restartBtn.visible = saveBtn.visible = param1;
  320.       }
  321.    }
  322. }
  323.